home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Gold Medal Software 2
/
Gold Medal Software Volume 2 (Gold Medal) (1994).iso
/
prog
/
rkplus31.arj
/
RKP2ENC.DOC
< prev
next >
Wrap
Text File
|
1993-06-15
|
9KB
|
237 lines
▄▄▄▄▄▄▄ ▄▄▄▄▄▄▄ ▄▄▄▄▄▄▄
█ █ █ █
█▄▄▄▄▄█ ▄ ▄▄ ▄▄▄▄ ▄▄▄▄▄▄█ █▄▄ ▄▄▄ ▄ ▄▄▄▄
█ █ █▄█▄ █▄▄█ █ █ █ █ █ █
█ █▄▄ █ █ █ █▄▄▄▄▄▄ █▄▄▄▄▄▄ █ █▄█ █▄▄▄
RkPlus (tm) 2.x/compatible Encode Unit for RkPlus 3.0
by C. Scott Davis
Copyright (c) 1990-93 Serious Cybernetics
Rkp2Enc - RkPlus (tm) 2.x/compatible Encode Unit for RkPlus 3.0 Page i
T A B L E O F C O N T E N T S
═══════════════════════════════════════════════════════════════════
Sec D e s c r i p t i o n Page
Table of Contents .................................. i
1.0 What Is Rkp2Enc? ................................... 1
2.0 Using Rkp2Enc ...................................... 1
3.0 Rkp2Enc Variables .................................. 1
3.1 OwnerCode .......................................... 2
3.2 ProgramCode ........................................ 3
4.0 Additional Information On Rkp2Enc .................. 4
5.0 Copyright Notices .................................. 4
6.0 Index .............................................. 5
Rkp2Enc - RkPlus (tm) 2.x/compatible Encode Unit for RkPlus 3.0 Page 1
1.0 - What is Rkp2Enc?
Rkp2Enc is a Turbo Pascal (tm) unit to allow RkPlus 3.0 to generate and use
version 2.x/compatible keys. It contains definitions for OwnerCode and
ProgramCode, as well as the encoding functions used by RkPlus 2.x.
If version 2.x/compatible keys are not required, Rkp3Enc or user-written
encoding functions may be used instead (see RKPLUS.DOC for more information).
2.0 - Using Rkp2Enc
To use Rkp2Enc, the programmer must place it AFTER RkPlus in the Uses
definition (as shown below).
Uses
RkPlus, Rkp2Enc;
In addition, OwnerCode and ProgramCode must be initialised, before any RkPlus
calls are made (otherwise the RkPlus function RkpError will return
InvalidParameter). No additional procedure or function calls are needed, as
Rkp2Enc is automatically activated when it is Used.
If Rkp2Enc is corrupt or has been tampered with, the RkPlus function RkpError
will return BadTPU. If the RkPlus 3.0 version of Rkp2Enc is used with any
version other than 3.0, the RkPlus function RkpError will return
VersionMismatch.
3.0 - RkPlus Variables
The following Variables are defined in Rkp2Enc:
OwnerCode
ProgramCode
Rkp2Enc - RkPlus (tm) 2.x/compatible Encode Unit for RkPlus 3.0 Page 2
3.1 - OwnerCode
┌─────────────────────────┐
│ OwnerCode : String[20]; │
└─────────────────────────┘
This variable is initialised by Rkp2Enc to '' and must be assigned a value
before calling any of the RkPlus procedures or functions. It is used (along
with ProgramCode) to generate the registration keys. This variable should
probably be the same for all software written by a single person/company. Since
is it used to cause your keys to be different from those of other programmers
who are also using RkPlus, the more cryptic this variable is, the more secure
your keys will be.
Examples :
┌─────────────────────────────────┐
│ OwnerCode := 'TrendSoft, Inc.'; │
└─────────────────────────────────┘
If the name of your company is 'TrendSoft, Inc.', this is probably NOT a good
OwnerCode. It would be easy for someone who knows the name of the company to
use the RkPlus unit to write a programme that will generate keys for your
software.
┌──────────────────────────────────┐
│ OwnerCode := 'Trend&&Soft/Inc@'; │
└──────────────────────────────────┘
This is better. It still uses the name of the company, but it is somewhat
masked by the insertion of other characters and would be harder for another
programmer to guess.
┌────────────────────────────────┐
│ OwnerCode := 'Read$Make@Into'; │
└────────────────────────────────┘
This is MUCH better. It uses totally unrelated words that would be extremely
unlikely to be used by another programmer/company.
┌──────────────────────────────────────┐
│ OwnerCode := 'EkQW3#m,-%\uSaXo^Ej7'; │
└──────────────────────────────────────┘
This is most likely the best, since it uses totally random symbols.
IMPORTANT : You should NOT use any of the actual examples used here or in the
sample programmes included with RkPlus. If you do, anyone else who uses the
same example will have IDENTICAL keys!
Rkp2Enc - RkPlus (tm) 2.x/compatible Encode Unit for RkPlus 3.0 Page 3
3.2 - ProgramCode
┌───────────────────────────┐
│ ProgramCode : String[16]; │
└───────────────────────────┘
This variable is initialised by Rkp2Enc to '' and must be assigned a value
before calling any of the RkPlus procedures or functions. It is used (along
with OwnerCode) to generate the registration keys. Unlike OwnerCode, it
doesn't need to be particularly cryptic. There are several approaches to the
use of ProgramCode:
(1) If ProgramCode is set to the same value for several programmes
written by a person/company, keys for one piece of software will
work on another piece of software. Using this approach, you
could have a single key for several programmes.
(2) If each programme has a different ProgramCode and the ProgramCode is
not changed when the programme changes, keys for one version of the
programme will work for all versions of the same programme.
(3) If each programme has a different ProgramCode and the ProgramCode is
changed when the programme is changed, a different key will be
required for each version of the programme.
Examples :
┌───────────────────────────┐
│ ProgramCode := 'RkStuff'; │
└───────────────────────────┘
If you wrote a programme called RkSample and a programme called RkUtils and you
defined the ProgramCode as 'RkStuff' in both programmes, a key for one
programme would work for the other.
┌────────────────────────────┐
│ ProgramCode := 'RkSample'; │
└────────────────────────────┘
If you wrote a programme called RkSample and a programme called RkUtils and you
defined the ProgramCode as 'RkSample' in RkSample and used a different
ProgramCode in RkUtils, a key for one would NOT work for the other.
┌────────────────────────────────┐
│ ProgramCode := 'RkSample One'; │
└────────────────────────────────┘
If you wrote a programme called RkSample and you defined the ProgramCode as
'RkSample One' in versions 1.1, 1.2 and 1.3 and then changed the ProgramCode to
'RkSample Two' for version 2.1, the same key would work for versions 1.1, 1.2
and 1.3 but would NOT work for version 2.1.
Rkp2Enc - RkPlus (tm) 2.x/compatible Encode Unit for RkPlus 3.0 Page 4
4.0 - Additional Information On Rkp2Enc
Rkp2Enc makes the following assignments to RkPlus variables (for version 2.x
compatibility):
BaseYear := 1990;
UseExpDays := False;
These variables should NOT be changed by any programme which uses Rkp2Enc, or
its keys will NOT be compatible with version 2.x keys.
For more information on using Rkp2Enc, see the sample Turbo Pascal (tm)
programmes (RKPDEMO2.ZIP) that are distributed with RkPlus, or contact me at
any of the locations listed in RKPLUS.DOC.
5.0 - Copyright Notices
RkPlus (c) 1991-93 Serious Cybernetics
Rkp2Enc (c) 1990-93 Serious Cybernetics
Rkp3Enc (c) 1993 Serious Cybernetics
Turbo Pascal (c) 1983-89 Borland International
Rkp2Enc - RkPlus (tm) 2.x/compatible Encode Unit for RkPlus 3.0 Page 5
6.0 - Index
D e s c r i p t i o n Page
------------------------------------------------------- ----
BadTPU ................................................... 1
BaseYear ................................................. 4
InvalidParameter ......................................... 1
OwnerCode ................................................ 2
ProgramCode .............................................. 3
RkpError ................................................. 1
Rkp3Enc .................................................. 1
UseExpDays ............................................... 4
Using Rkp2Enc ............................................ 1
Variable List ............................................ 1
VersionMismatch .......................................... 1